package com.ryder.petmatediarybackend.module.admin.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 描述：审核项目视图对象（通用）
 *
 * @author Ryder
 * @version 1.0
 * @since 1.0
 * 更新日期: 2025-10-31
 */
@Data
@Schema(description = "审核项目视图对象")
public class AuditItemVO {

    @Schema(description = "审核项ID")
    private Long id;

    @Schema(description = "审核类型：1=店铺资质 2=店铺申请 3=宠物合集 4=商品合集 5=社交动态")
    private Integer auditType;

    @Schema(description = "审核类型文本")
    private String auditTypeText;

    @Schema(description = "申请人ID")
    private Long applicantId;

    @Schema(description = "申请人用户名")
    private String applicantName;

    @Schema(description = "审核标题")
    private String title;

    @Schema(description = "审核内容描述")
    private String description;

    @Schema(description = "相关图片URL列表")
    private List<String> images;

    @Schema(description = "审核状态：0=待审核 1=审核通过 2=审核驳回")
    private Integer auditStatus;

    @Schema(description = "审核状态文本")
    private String auditStatusText;

    @Schema(description = "审核备注")
    private String auditRemark;

    @Schema(description = "审核人ID")
    private Long auditorId;

    @Schema(description = "审核人用户名")
    private String auditorName;

    @Schema(description = "审核时间")
    private LocalDateTime auditTime;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "更新时间")
    private LocalDateTime updateTime;

    // 特定类型的额外信息
    @Schema(description = "店铺资质类型（资质审核时）")
    private Integer qualificationType;

    @Schema(description = "店铺资质类型文本")
    private String qualificationTypeText;

    @Schema(description = "店铺ID")
    private Long shopId;

    @Schema(description = "店铺名称")
    private String shopName;
}

